1. Field of the Invention
The present invention generally relates to on-vehicle information systems and, more particularly, to an on-vehicle information system that executes navigation service, hyper text browsing, and digital audio playback, etc., offers user related information, and allows effortless addition and deletion of these functions.
2. Description of the Related Art
FIG. 15 is a block diagram showing a system construction of related-art navigation apparatus shown in Japanese Laid-Open Patent Application No. 11-211489. Referring to FIG. 15, the navigation apparatus comprises navigation hardware 50, a device driver 52, a navigation OS 54, an addition and correction control unit 54a, a basic navigation operation unit 56, a Java virtual machine unit 58, a vehicle multimedia program unit 60, a Java basic application programming interface (API), a service module 64, a navigation class library 66, a Java diffusion API 68, and a navigation program API 70.
A description will now be given of the operation according to the related art.
The navigation hardware 50 includes a microprocessor for executing a program, a recording medium such as a CD-ROM storing maps and programs, and a reading device for reading from the recording medium. The navigation hardware 50 is controlled by the device driver 52. The basic navigation unit 56 is located in a layer above the navigation OS 54. The basic navigation operation unit 56 performs basic operations of navigation such as current position computation and route computation. The vehicle multimedia program unit 60 written in Java is interpreted and executed by the Java virtual machine unit 58. The Java basic API is located between the Java virtual machine unit 58 and the vehicle multimedia program unit 60. A vehicle multimedia program not included in the basic navigation operation is designated as an extended program and is built into the basic system from a CD-ROM (not shown). When an extended API code for navigation related to the basic navigation operation is generated while the vehicle multimedia program is being executed, the code is processed as follows.
A determination is made as to whether the control code generated in the vehicle multimedia program is an extended API code for navigation. If it is determined that the control code is an extended API code for navigation, a service unit comprising the service module 64 modifies the extended API code for delivery to the basic navigation operation unit 56, wherein the basic operation in accordance with the modified code is executed.
In the above-described construction of the related-art navigation apparatus, it is necessary to provide the service module 64 with extended API codes for navigation that are expected to be used, regardless of whether or not individual vehicle multimedia programs will use them. It is also necessary to provide service units and navigation program APIs corresponding to the extended codes. As a result, the size of the service module 64 is increased. Another disadvantage is that the reliability and responsiveness of the system suffers and the initial design of the system requires a relatively high cost.
Further, in order to add new extended API codes associated with the addition of new functions to the basic navigation operation unit 56 or to the vehicle multimedia program unit 60, it is necessary to update the entirety of the service module 64. Updating of the service module 64 is not an easy task to perform.
Accordingly, a general object of the present invention is to provide an on-vehicle information system in which the aforementioned problems are eliminated.
Another and more specific object is to provide an on-vehicle information system in which the scale of modules additionally installed is reduced, the reliability of the system is improved and the initial designing is facilitated, by optimally defining extended functions subject to cooperation, and by providing function modules with interface modules necessary to realize cooperation between the basic function and the extended function.
Still another object is to provide an on-vehicle information system in which addition of functions and step-by-step development of the function is facilitated.
The aforementioned objects can be achieved by an on-vehicle information system comprising: a platform unit including hardware, basic software controlling and managing the hardware, and executing a program; a basic function module started at the same time as the platform is started and provided with programs that offer basic on-vehicle information services; an extended function module built into the platform as required, and provided with programs that offer extended on-vehicle information services, wherein the basic function module is provided with an extended function interface module for exchanging information and commands with the extended function module, the extended function module is provided with a basic function interface module for exchanging information and commands with the basic function module, the extended function module and the basic function module exchange information for cooperation via one or both of the basic function interface module and the extended function interface module.
The extended function module may comprise: a virtual platform built on the platform unit; and an extended function application interpreted and executed in the virtual platform, and written in a language not dependent on the platform unit, and the basic function interface module may be provided in the extended function application.
The virtual platform may be a Java virtual machine, the extended function application may be written in Java, and the basic function interface module and the extended function interface module may communicate with each other in accordance with Java native interface.
The basic function module may comprise a plurality of basic function sub-modules and the extended function interface module, and the basic function sub-module or the extended function interface module may be provided with a communication specification definition unit defining a specification for communication with other modules with which communication is required.
The basic function interface module included in the extended function application module may be provided with basic function interface modules adapted for basic function sub-modules with which communication is required in executing an extended function, so that a function of the basic function sub-module is used via the basic function interface module.